package com.techsoul.module.tms.pojo.param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
 * FreightVehicleDispatchSearchParam
 *
 * @author zhaowei
 * @since 2021-06-19
 */
@Data
@Accessors(chain = true)
public class FreightVehicleDispatchSearchParam {
    /**
     * 物流计划编号
     */
    @ApiModelProperty(value = "物流计划编号")
    private String purchaseOrderId;
    @ApiModelProperty(value = "结算类型")
    private String chargeAdjustType;
    @ApiModelProperty(value = "司机付款")
    private BigDecimal accountPayable;
    @ApiModelProperty(value = "到货地")
    private String destinationName;
    @ApiModelProperty(value = "装载率")
    private BigDecimal loadingRate;
    @ApiModelProperty(value = "出发")
    private String departureName;
    /**
     * 货主编号
     */
    @ApiModelProperty(value = "货主编号")
    private String publishCarrierId;
    private List<FreightVehicleDistributionSaveParam> distributionList;
    /**
     * 货主名称
     */
    @ApiModelProperty(value = "驾驶员")
    private String driverName;
    @ApiModelProperty(value = "货主名称")
    private String publishCarrier;
    @ApiModelProperty(value = "车号")
    private String vehicleIdentity;
    @ApiModelProperty(value = "送货地址")
    private String dropOffAdd;
    @ApiModelProperty(value = "班次号")
    private String voyagesNo;
    @ApiModelProperty(value = "承运人")
    private String carrierName;
    @ApiModelProperty(value = "司机")
    private String driver;
    @ApiModelProperty(value = "司机手机号")
    private String driverPhone;

    @ApiModelProperty(value = "配送公司域")
    private String distributorDeptSite;
    /**
     * 发布范围
     */
    @ApiModelProperty(value = "发布范围")
    private String publishScope;

    /**
     * 提货城市
     */
    @ApiModelProperty(value = "提货城市")
    private String pickupCity;

    /**
     * 交货城市
     */
    @ApiModelProperty(value = "交货城市")
    private String deliveryCity;

    /**
     * 提货地址
     */
    @ApiModelProperty(value = "提货地址")
    private String pickupAddress;

    /**
     * 交货地址
     */
    @ApiModelProperty(value = "交货地址")
    private String deliveryAddress;

    private BigDecimal pickupLongitude;

    private BigDecimal pickupLatitude;

    private BigDecimal deliveryLongitude;

    private BigDecimal deliveryLatitude;

    /**
     * 货物名称
     */
    @ApiModelProperty(value = "货物名称")
    private String materialName;

    /**
     * 完成时间
     */
    @ApiModelProperty(value = "完成时间")
    private Date completeTime;

    /**
     * 运输路线代码
     */
    @ApiModelProperty(value = "运输路线代码")
    private String routeCode;

    /**
     * 提货日期
     */
    @ApiModelProperty(value = "提货日期")
    private Date pickupDate;

    /**
     * 交货日期
     */
    @ApiModelProperty(value = "交货日期")
    private Date deliveryDate;

    /**
     * 发布数量
     */
    @ApiModelProperty(value = "发布数量")
    private BigDecimal quantity;

    /**
     * 已被接单数量
     */
    @ApiModelProperty(value = "已被接单数量")
    private BigDecimal dispatchedQuantity;

    /**
     * 司机抢单数量总和
     */
    @ApiModelProperty(value = "司机抢单数量总和")
    private BigDecimal bidQuantity;

    /**
     * 抢单司机总人数
     */
    @ApiModelProperty(value = "抢单司机总人数")
    private Integer bidDriverCount;

    private String deliveryType;

    /**
     * 1:FTL 整车 2：LTL 零担 司机任务类型
     */
    @ApiModelProperty(value = "1:FTL 整车 2：LTL 零担 司机任务类型")
    private String orderTypeNo;

    private String autoDispatchFlag;

    /**
     * 4 按路线结算 5 按里程 6 按区域结算
     */
    @ApiModelProperty(value = "4 按路线结算 5 按里程 6 按区域结算")
    private String routeDistanceType;

    /**
     * round 来回 depart 单程 return 回程
     */
    @ApiModelProperty(value = "round 来回 depart 单程 return 回程")
    private String routeType;

    /**
     * 里程数
     */
    @ApiModelProperty(value = "里程数")
    private BigDecimal mile;

    private BigDecimal carrierFee;

    /**
     * TK 运输 BR 撮合运输
     */
    @ApiModelProperty(value = "TK 运输 BR 撮合运输")
    private String jobType;

    private String settled;

    /**
     * 11 一装一卸 12 一装两卸 13 一装三卸 以此类推
     */
    @ApiModelProperty(value = "11 一装一卸 12 一装两卸 13 一装三卸 以此类推")
    private String loadMethod;

    /**
     * 每吨运费出价
     */
    @ApiModelProperty(value = "每吨运费出价")
    private BigDecimal unitPricePayable;

    private String status;

    private String estDeliveryDays;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 是否有效，数据字典 yn_type，1 表示是，0 表示否，默认0
     */
    private String isValid = "1";

    @ApiModelProperty(value = "车号")
    private String vehicleNo;
    @ApiModelProperty(value = "发货人号")
    private String customerNo;
    @ApiModelProperty(value = "发货人")
    private String  customerName;
    @ApiModelProperty(value = "收货人电话")
    private String  consigneePhone;
    @ApiModelProperty(value = "收货人编号")
    private String  consigneeNo;
    @ApiModelProperty(value = "收货人")
    private String  consigneeName;
    @ApiModelProperty(value = "运单号")
    private String  freightOrderNo;
    @ApiModelProperty(value = "车辆类型")
    private String  vehicleModel;
    @ApiModelProperty(value = "发布价格")
    private Double publishDriverPrice;
    @ApiModelProperty(value = "总重")
    private Double  totWeight;
    @ApiModelProperty(value = "要求车辆类型")
    private String ftlRequestVehicleType;
    @ApiModelProperty(value = "要求车辆长度")
    private String ftlRequestVehicleLength;
    @ApiModelProperty(value = "是否结算")
    private String  settledYn;
    @ApiModelProperty(value = "预计提货日期")
    private Date  estPickupDate;
    @ApiModelProperty(value = "预计交货日期")
    private Date  estDeliveryDate;
    @ApiModelProperty(value = "域")
    private String  site;
    @ApiModelProperty(value = "部门")
    private String  departmentNo;
    @ApiModelProperty(value = "部门")
    private String  dangerType;
    @ApiModelProperty(value = "部门")
    private String  carrierNo;
    @ApiModelProperty(value = "部门")
    private String  shipmentLocation;
    @ApiModelProperty(value = "部门")
    private String  destination;
}
